Information retrieval systems have evolved from dedicated hosts and connected terminals to vast networks such as the World Wide Web. Information viewers, such as web browsers, are known, typically as client processes in a network environment, which provide access to information maintained on other computers.
Information viewers are software packages that enable a user to retrieve and display information from distributive network sources. Network sources may be a local computer, computers on a private or corporate local/wide area network, or even computers distributed across the globe. The collection of information that is distributed across the globe and is available for retrieval over the Internet via a specific set of "Internet" protocols is commonly referred to as the World Wide Web. Information is retrieved using a number of standardized network protocols including, but not limited to HTFP, FTP, NNTP Gopher and WAIS. Retrieved information also takes many forms, some examples being HTML, ASCII text, SGML and GIF and JPEG images.
Information retrieval systems unrelated to the World Wide Web also exist. These systems enable users to retrieve and display information from network sources. Typically, these use proprietary protocols and custom information formats. All use some software to interface with and to display information to users. On line information services are common examples of such systems. A common feature of these systems is the use of structured information languages, such as the World Wide Web's HTML, which contain links to related information embedded in the information itself.
Information viewers, especially web browsers, have many product distinguishing features, but all share the basic ability to retrieve and display network based information. The most sophisticated viewers are able to display graphics, richly formatted text, simultaneously load and display information, and maintain caches of retrieved information for rapid redisplay.
User requests for information may be processed in a network by information proxies. Information proxies are software packages that are installed in the network infrastructure to provide one or more information related services. Services are typically provided based on network policies, or to overcome restrictions in network infrastructure. Some of the common reasons for the use of proxies are: security, access control, IP address translation/hiding, limiting access to inappropriate information and information caching. Proxies may be installed in stand-alone or multi-use computers. In the multi-use environment, proxies and viewers may run on the same computer. Like information viewers, proxies have many product distinguishing features. Proxies typically support multiple users by providing for the simultaneous loading of multiple sets of information. Many also cache information for reuse by any of the users being served by the proxy.
User requests for network based information network must be handled by network access mechanisms. All hardware platforms use software to provide the basic network capabilities. The protocols are typically implemented in a "protocol stack" which implements the particular interactions required for network communications. Network software may be included as part of the operating system or may be obtained as an add-on product. Network software has different labels based on specific implementations and capabilities. Some common labels are "network operating systems", "operating systems", "network protocol stack" or even "middleware." Network software is typically hidden from the user, especially in an on-line service information system. Network software uniformly provides access to connected networks and typically provides support for multiple simultaneous user, as well as an application programmer interface (API) for general use by applications. Some examples of API's are WINSOCK and UNIX SOCKETS.